/* ============================================================
 * 对常规提交进行ajax封装create by indraw
 *
 * ============================================================
 * update by baoayng<571265160@qq.com>
 *
 * ============================================================ */
var successTime1 = 2000;
var successTime2 = 1000;

function tpform(url){
    var formData = $("#formdata").serialize(true);
    window.location.href = url+'&'+formData;
}

//表单提交数据
function postFormDataLogin() {
    var formName    = arguments[0] ? arguments[0] : 'form_name';
    var refresh     = arguments[1] ? arguments[1] : false;
    var is_callback = arguments[2] ? arguments[2] : false;
    var dataType    = arguments[3] ? arguments[3] : "JSON";
    var domain      = arguments[4] ? arguments[4] : "";
    var jsonpfunc   = arguments[5] ? arguments[5] : 'callback';

    if (!formName) {
        return false;
    }
    formData = $("#" + formName).serialize(true);
    $.ajax({
        url: domain + "/" + $('#' + formName + ' #url_class').val() + "/" + $('#' + formName + ' #url_func').val() + "?act=do&format=json",
        type: "post",
        data: formData,
        dataType: dataType,
        jsonp: 'callback',
        jsonpCallback: jsonpfunc,
        dataFilter: function(data, type) {
            return data;
        },
        success: function(json) {

            if (json.code === 0) {
                //失败
                if (is_callback && typeof(callback) == 'function') {
                    callback(json);
                } else {
                    layer.alert(json.msg, {icon: 5});
                }
                return false;

            } else if (json.code === 1) {
                //成功
                if (is_callback && typeof(callback) == 'function') {
                    callback(json);

                } else {
                    layer.alert(json.msg, {icon: 1});
                }
                successTime1 = 1000;
            }

            //当前页面不刷新
            if (refresh) return true;

            setTimeout("_postUrl('" + json.url + "')", successTime1);

        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            layer.msg('网络错误：' + XMLHttpRequest.status, function(){
                //操作
            });
            return false;
        }
    });
}

//表单提交数据
function postFormData() {
    console.log('post form');
    var formName    = arguments[0] ? arguments[0] : 'form_name';
    var refresh     = arguments[1] ? arguments[1] : true;
    var is_callback = arguments[2] ? arguments[2] : false;
    var dataType    = arguments[3] ? arguments[3] : "JSON";
    var domain      = arguments[4] ? arguments[4] : "";
    var jsonpfunc   = arguments[5] ? arguments[5] : 'callback';

    if (!formName) {
        return false;
    }

    formData = $("#" + formName).serialize(true);

    $.ajax({
        url: $('#' + formName + ' #url_class').val()+ "&act=do",
        type: "post",
        data: formData,
        dataType: dataType,
        success: function(json) {
            console.log(json)
            if (json.type == 'success') {
                //成功
                layer.alert(json.message, {icon: 1});
                if (refresh){

                    setTimeout("_postUrl('" + json.redirect + "')", successTime1);
                } else{
                    setTimeout("parent.location.reload()", successTime1);
                }
                //当前页面不刷新
            }else{
                layer.alert(json.message, {icon: 5});
            }

        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            layer.msg('网络错误：' + XMLHttpRequest.status, function(){
                //操作
            });
            return false;
        }
    });
}

//执行url操作
function getUrlData(url,urltype) {

    var url       = arguments[0] ? arguments[0] : '0';
    var urltype   = arguments[1] ? arguments[1] : 'get';
    var refresh   = arguments[2] ? arguments[2] : false;

    if (!url) {
        layer.msg('请求地址错误!', function(){
            //关闭后的操作
        });
        return false;
    }
    var limit = '?';
    if (url.indexOf('?') != -1) {
        limit = '&';
    }

    $.ajax({
        url: url + limit + "format=json&act=do",
        type: urltype,
        dataType: 'json',
        jsonp: 'callback',
        jsonpCallback: 'callback',
        success: function(json) {
            if (json.type == 'success') {
                //成功
                layer.alert(json.message, {icon: 1});
                if (refresh){
                    setTimeout("_postUrl('" + json.redirect + "')", successTime1);
                } else{
                    setTimeout("parent.location.reload()", successTime1);
                }
            }else{
                layer.alert(json.message, {icon: 5});
            }

        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            layer.msg('网络错误：' + XMLHttpRequest.status, function(){
                //操作
            });
            return false;
            //alert("网络忙，请稍候……");
        }
    });
}

//列表里面，每条记录的删除之类操作ajax操作
function getConfirm() {
    var url    = arguments[0];
    var info   = arguments[1] ? arguments[1] : "确定执行操作吗？";
    var urltype   = arguments[2] ? arguments[2] : 'get';
    var refresh   = arguments[3] ? arguments[3] : true;

    layer.confirm(info, {
        btn: ['确定', '取消'] //按钮
    }, function() {
        // 确定操作
        getUrlData(url,urltype,refresh);
        // layer.msg('请稍后...');

    }, function() {
        // 取消操作
    });

}


//统一操作方法
function _postUrl(url) {

    //获取锚点
    // if(window.location.hash){
    //     url += window.location.hash ;
    // }

    if (url != "null" && url != null) {
        window.location.href = url;

        if (url.indexOf(window.location.hash) > -1 && window.location.hash) {
            window.location.reload();
        }
    } else {
        localStorage.clear()
        location.reload();
    }
}


function CheckAll(value, obj) {
    var form = document.getElementsByClassName("checkForm")
    for (var i = 0; i < form.length; i++) {
        for (var j = 0; j < form[i].elements.length; j++) {
            if (form[i].elements[j].type == "checkbox") {
                var e = form[i].elements[j];
                if (value == "selectAll") {
                    e.checked = obj.checked
                } else {
                    e.checked = !e.checked;
                }
            }
        }
    }
}

//列表里面，每条记录的删除之类操作ajax操作
function getConfirm_this() {
    var url    = arguments[0];
    var info   = arguments[1] ? arguments[1] : "确定执行操作吗？";
    var data   = arguments[2] ? arguments[2] : "GET";
    var button = arguments[3] ? arguments[3] : '1'; //1删除 2暂停  3启用 4同步
    var cancel = arguments[4] ? arguments[4] : ''; //取消跳转
    //调整按钮图标
    if (!arguments[3] && url.indexOf("change") != -1) {
        button = "2"; //默认启用

        if (url.indexOf("status=2") != -1) { //停用
            button = "3";
        }
    }


    layer.prompt({title: info, formType: 2}, function(text){
        url = url +'&text='+text
        getUrlData(url,data);
    });
}